package rw.main;

import rw.input.Input;
import rw.util.FindPic;

import javax.swing.*;

/**
 * 游戏的窗口，提供显示和监听按键
 *
 * @author RWdaze
 */
public class StartFrame extends JFrame {
    /**
     * 用于显示的画板
     */
    private final PaintPanel jp;

    /**
     * 初始化函数
     *
     * @param height 这个窗口的高
     * @param weight 这个窗口的宽
     */
    public StartFrame(int height, int weight, String title, String image) {
        //获取输入采集对象，将监听结果交给输入采集对象处理
        Input in = Input.getInstance();
        this.addKeyListener(in);

        //设置标题，宽高，以及一些基础属性
        this.setTitle(title);
        this.setSize(weight, height);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLocationRelativeTo(null);
        this.setResizable(false);

        //设置图片
        if (FindPic.pic.containsKey(image)) {
            this.setIconImage(FindPic.pic.get(image));
        }
        //初始化画板
        jp = new PaintPanel();
        this.setContentPane(jp);

        //设置可见
        this.setVisible(true);
    }

    /**
     * 画板刷新
     */
    public void paint() {
        jp.repaint();
    }
}

